﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Text.RegularExpressions;

namespace DataAccessComponents
{
    public class Wyzywienie : IDataErrorInfo
    {
        /// <summary>
        /// Id wyzywienia
        /// </summary>
        private int id_wyzywienie;

        public int Id_wyzywienie
        {
            get { return id_wyzywienie; }
            set { id_wyzywienie = value; }
        }

        /// <summary>
        /// Nazwa wyzywienia
        /// </summary>
        private string nazwa;

        public string Nazwa
        {
            get { return nazwa; }
            set { nazwa = value; }
        }

        /// <summary>
        /// Konstruktor wyzywienie
        /// </summary>
        /// <param name="idw">Id wyzywienia</param>
        /// <param name="nazw">Nazwa</param>
        public Wyzywienie(int idw, string nazw)
        {
            this.id_wyzywienie = idw;
            this.nazwa = nazw;
        }

        public Wyzywienie()
            : this(0, "")
        { }
         public string Error
        {
            get { return string.Empty; }
        }

         public string this[string propertyName]
         {
             get
             {
                 string result = string.Empty;
                 propertyName = propertyName ?? string.Empty;

                 if (propertyName == "Nazwa")
                 {
                     if (string.IsNullOrEmpty(this.Nazwa))
                     {
                         result = "Pole \"Nazwa\" nie może być puste";
                     }
                     else if (Regex.IsMatch(this.Nazwa, @"[@£_^{}\[~\]|ÆæßÉ!¤%&'()\*\+,.:;<=>§?]+"))
                     {
                         result = "Pole \"Nazwa\" zawiera niedozwolone znaki";
                     }

                 }
                 return result;
             }
         }
    }
}
